home *** CD-ROM | disk | FTP | other *** search
/ L' Effet Pommier 3 / L'Effet Pommier - Volume 03.iso / Graphismes / 3D / POV-Ray 3.0B5a PPC / POV-Ray 3.0B5a / POVSCN.Scenes / POVSCN / LEVEL3 / SNAIL / MMSHAPE.INC < prev    next >
Text File  |  1995-12-13  |  3KB  |  172 lines

  1. // Persistence Of Vision raytracer version 3.0 sample file.
  2. // non-Standard shapes #include file
  3. //
  4.  
  5. #version 3.0
  6. #declare Ellipsoid = sphere { 0, 1 }
  7.  
  8. #declare light = light_source { <0, 0, 0> color White }
  9.  
  10. #declare USphere = intersection {
  11.    sphere { 0, 1 }
  12.    plane { -y, 0 }
  13. }
  14.  
  15.  
  16. #declare DSphere = intersection {
  17.    sphere { 0, 1 }
  18.    plane { y, 0 }
  19. }
  20.  
  21. #declare Disk_X = cylinder { 0, x, 1 }
  22. #declare Disk_Y = cylinder { 0, y, 1 }
  23. #declare Disk_Z = cylinder { 0, z, 1 }
  24.  
  25. #declare Cylinder_X = cylinder {-x,x,1 scale <1.0e7, 1, 1 > }
  26. #declare Cylinder_Y = cylinder {-y,y,1 scale <1, 1.0e7, 1 > }
  27. #declare Cylinder_Z = cylinder {-z,z,1 scale <1, 1, 1.0e7 > }
  28.  
  29.  
  30. #declare QCone_X = quadric {
  31.    <-1.0, 1.0, 1.0>,
  32.    <0.0, 0.0, 0.0>,
  33.    <0.0, 0.0, 0.0>,
  34.    0.0
  35. }
  36.  
  37.  
  38. #declare QCone_Y = quadric {
  39.    <1.0, -1.0, 1.0>,
  40.    <0.0, 0.0, 0.0>,
  41.    <0.0, 0.0, 0.0>,
  42.    0.0
  43. }
  44.  
  45.  
  46. #declare QCone_Z = quadric {
  47.    <1.0, 1.0, -1.0>,
  48.    <0.0, 0.0, 0.0>,
  49.    <0.0, 0.0, 0.0>,
  50.    0.0
  51. }
  52.  
  53. #declare DCone = /*---------CONE POINT DOWN /POINT at 000--------*/
  54. intersection {
  55.    object { QCone_Y scale <1, 1, 1> }
  56.    plane { -y, 0 }
  57.    plane { y, 1 }
  58. }
  59.  
  60. #declare UCone = /*---------CONE POINT UP /POINT at 000--------*/
  61. intersection {
  62.    object { QCone_Y scale <1, 1, 1> }
  63.    plane { y, 0 }
  64.    plane { y, -1 inverse }
  65. }
  66.  
  67. #declare BiCone = /*----2 CONES POINTS TOGETHER /POINT at 000---*/
  68. intersection {
  69.    object { QCone_Y scale <1, 1, 1> }
  70.    plane { y, 1 }
  71.    plane { y, -1 inverse }
  72. }
  73.  
  74. #declare Plane_YZ = quadric {
  75.    <0.0, 0.0, 0.0>,
  76.    <0.0, 0.0, 0.0>,
  77.    <1.0, 0.0, 0.0>,
  78.    0.0
  79. }
  80.  
  81. #declare Plane_XZ = quadric {
  82.    <0.0, 0.0, 0.0>,
  83.    <0.0, 0.0, 0.0>,
  84.    <0.0, 1.0, 0.0>,
  85.    0.0
  86. }
  87.  
  88. #declare Plane_XY = quadric {
  89.    <0.0, 0.0, 0.0>,
  90.    <0.0, 0.0, 0.0>,
  91.    <0.0, 0.0, 1.0>,
  92.    0.0
  93. }
  94.  
  95.  
  96. /* y^2 + z^2 - x = 0 */
  97. #declare Paraboloid_X = quadric {
  98.    <0.0,  1.0,  1.0>,
  99.    <0.0,  0.0,  0.0>,
  100.    <-1.0, 0.0,  0.0>,
  101.    0.0
  102. }
  103.  
  104.  
  105. /* x^2 + z^2 - y = 0 */
  106. #declare Paraboloid_Y = quadric {
  107.    <1.0,  0.0,  1.0>,
  108.    <0.0,  0.0,  0.0>,
  109.    <0.0, -1.0,  0.0>,
  110.    0.0
  111. }
  112.  
  113.  
  114. /* x^2 + y^2 - z = 0 */
  115. #declare Paraboloid_Z = quadric {
  116.    <1.0,  1.0,  0.0>,
  117.    <0.0,  0.0,  0.0>,
  118.    <0.0,  0.0, -1.0>,
  119.    0.0
  120. }
  121.  
  122.  
  123. /* y - x^2 + z^2 = 0 */
  124. #declare Hyperboloid = quadric {
  125.    < -1.0,  0.0,  1.0>,
  126.    <  0.0,  0.0,  0.0>,
  127.    <  0.0,  1.0,  0.0>,
  128.    0.0
  129. }
  130.  
  131.  
  132. #declare Hyperboloid_Y = quadric {  /* Vertical hyperboloid */
  133.    <1.0, -1.0,  1.0>,          /*                      */
  134.    <0.0,  0.0,  0.0>,         /*            \   /     */
  135.    <0.0,  0.0,  0.0>,        /* Like this:  ) (      */
  136.    -1.0                     /*            /   \     */
  137. }
  138.  
  139.  
  140. #declare Cube = box { -1, 1 }
  141.  
  142. #declare Tetrahedron = intersection {
  143.    plane { -y, 1.0 }
  144.    plane {  z, 1.0 rotate -30.0*x }
  145.    plane {  x, 1.0 rotate <0.0, 30.0, 30.0> }
  146.    plane { -x, 1.0 rotate <0.0, -30.0, -30.0> }
  147. }
  148.  
  149.  
  150.  
  151.  
  152. #declare Hexagon = intersection {            /* Hexagonal Solid, axis along x */
  153.    plane { z, 1.0 }   /* Rotate 90 in z axis to stand up */
  154.    plane { z, 1.0 rotate  60.0*x }
  155.    plane { z, 1.0 rotate 120.0*x }
  156.    plane { z, 1.0 rotate 180.0*x }
  157.    plane { z, 1.0 rotate 240.0*x }
  158.    plane { z, 1.0 rotate 300.0*x }
  159.    plane { x, 1.0 }
  160.    plane { x, -1.0 inverse }
  161. }
  162.  
  163. #declare Rhomboid =            /* Three Dimensional 4-Sided Diamond */
  164. intersection {
  165.    plane { -x, 1.0 rotate -30.0*z }
  166.    plane {  x, 1.0 rotate -30.0*z }
  167.    plane {  z, 1.0 }
  168.    plane { -z, 1.0 }
  169.    plane {  y, 1.0 }
  170.    plane { -y, 1.0 }
  171. }
  172.